package top.huxy.boot.service;

import com.github.pagehelper.PageInfo;
import top.huxy.boot.model.dto.Pager;
import top.huxy.boot.model.dto.Query;
import top.huxy.boot.model.entity.VisitLog;
import top.huxy.boot.model.vo.VOVisitorCityInfo;
import top.huxy.boot.util.obj.Pagination;

import java.util.List;
import java.util.Map;

/**
 * @Classname VisitLogService
 * @Description VisitLogService
 * @Date 2021/9/17 9:23
 * @Created by huxy
 */
public interface VisitLogService {
    List<VisitLog> getVisitLogList(Pagination pagination);
    PageInfo<VisitLog> getVisitLogList(Pager pager, Query query);
    int getVisitLogCount();

    VisitLog getVisitLogByRequestId(String requestId);

    void saveVisitLog2Redis(VisitLog visitLog);

    int getVisitorCount(long startTime, long end);

    List<VOVisitorCityInfo> getVisitorCityInfo();

    int getNewVisitorCount(long lastDate);

    int getUniqueIpCount();

    int getNewUniqueIpCount(long lastDate);

    Map<String,List<Object>> getVisitorCountGroupByDays(long start,long end);
}
